<script>

function isDate(dateStr) {
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
alert('Please enter your birth date as dd/mm/yyyy. Your current selection reads: ' + dateStr);
return false;
}

day = matchArray[1]; // p@rse date into variables
month = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
alert('Month must be between 1 and 12.');
return false;
}

if (day < 1 || day > 31) {
alert('Day must be between 1 and 31.');
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert('Month '+month+' doesn`t have 31 days!');
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
alert('February ' + year + ' doesn`t have ' + day + ' days!');
return false;
}
}
return true; // date is valid
}

function checkForValidDate(){
var ddlVMonth = document.getElementById('_ctl0_DropDownListMaanden');
var ddlVDay = document.getElementById('_ctl0_DropDownListDagen');
var ddlVYear = document.getElementById('_ctl0_DropDownListJaren');

if (!isDate(ddlVDay.value + '/' + ddlVMonth.value + '/' + ddlVYear.value))
{ return(false); }

return(true);
}



</script>
<form id="test_form" action="get" method="/checkdatejavascript" 
   onsubmit="return(check_form(this)); return false;">
   <select name="dateday" id="dateday">
      <option value="1">1</option>
         […]
   </select>
   <select name="datemonth" id="datemonth">
      <option value="0">January</option>
         […]
   </select>
   <select name="dateyear" id="dateyear">
      <option value="2006">2006</option>
         […]
   </select>
</form>
